home *** CD-ROM | disk | FTP | other *** search
Wrap
(Message inbox:574) From mlschroe@immd4.informatik.uni-erlangen.de Tue Aug 9 09:43:03 1994 Received: from tbird.cc.iastate.edu (tbird.cc.iastate.edu [129.186.140.11]) by packrat.vorpal.com (8.6.9/8.3) with ESMTP id JAA20542; Tue, 9 Aug 1994 09:43:00 -0500 Received: from faui45.informatik.uni-erlangen.de (faui45.informatik.uni-erlangen.de [131.188.2.45]) by tbird.cc.iastate.edu (8.6.5/8.6.5) with SMTP id JAA02728 for <explorer@vorpal.com>; Tue, 9 Aug 1994 09:42:47 -0500 Received: from faui43.informatik.uni-erlangen.de by uni-erlangen.de with SMTP; id AA08259 (5.65c-6/7.3w-FAU); Tue, 9 Aug 1994 16:41:21 +0200 Received: by immd4.informatik.uni-erlangen.de; id AA21277 (5.65c-6/7.3m-FAU); Tue, 9 Aug 1994 16:41:20 +0200 From: "Michael Schroeder (Inf4 - hiwi)" <mlschroe@immd4.informatik.uni-erlangen.de> Message-Id: <199408091441.AA21277@faui43.informatik.uni-erlangen.de> Subject: Re: rayshade-4.1.0.tar.gz To: "Michael Graff" <explorer@vorpal.com> Date: Tue, 9 Aug 94 16:41:19 DST In-Reply-To: <199408090928.EAA29572@packrat.vorpal.com>; from "Michael Graff" at Aug 9, 94 4:28 am X-Mailer: ELM [version 2.3 PL11] > This is an unofficial release of Rayshade, called 4.1 because of the > new features included. I expect there will be problems and such, and > welcome patches and suggestions. > > I have placed the file on > ftp://tbird.cc.iastate.edu/pub/rayshade/rayshade-4.1.0.tar.gz > so grab it and make comments. There is a lot of cleaning up to do yet, > which I hope to do over the next few weeks between working and preparing > for classes this semester. > > Comments, bug fixes, suggestions, flames, and hard drives welcome. :) I just checked "ftp.uni-erlangen.de:/pub/graphics/rayshade" and noticed that some of my patches were missing. I looked in the ftp tree and realized that there were two rayshade directories: pub/graphics/rayshade and /pub/graphics/graphics/rayshade I copied my patches into the graphics/graphics directory :( I moved graphics/rayshade to graphics/rayshade.xx and made a symlink from graphics/graphics/rayshade, so the next time you will be in the right directory. Sorry. Anyway some points about 4.1.0: 1) You should apply UNAPPLIED/shadowbug. Don't distribute a buggy version. (The first hunk will reject - it is already applied in 4.1.0) 2) Please apply accellenh: On some platforms (e.g. mot88) it is much faster to do float multiplication than division. Thus if you have to divide a vektor by a scalar it is better to invert the scalar and do multiplications. 3) lightenh allows lightsources that falloff with the distance to the object squared. If you are interested, ftp it. Michael. --------------------------------------------------------------- Michael Schroeder mlschroe@faui43.informatik.uni-erlangen.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} accellenh: *** libray/libcommon/transform.c.orig Tue Aug 9 09:55:18 1994 --- libray/libcommon/transform.c Tue Aug 9 16:02:21 1994 *************** *** 254,260 **** { RSMatrix ttmp; int i; ! Float d; extern int yylineno; ttmp.matrix[0][0] = trans->matrix[1][1]*trans->matrix[2][2] - --- 254,260 ---- { RSMatrix ttmp; int i; ! Float d, invd; extern int yylineno; ttmp.matrix[0][0] = trans->matrix[1][1]*trans->matrix[2][2] - *************** *** 285,302 **** if (fabs(d) < EPSILON*EPSILON) RLerror(RL_PANIC, "Singular matrix.\n",yylineno); ! ttmp.matrix[0][0] /= d; ! ttmp.matrix[0][2] /= d; ! ttmp.matrix[1][1] /= d; ! ttmp.matrix[2][0] /= d; ! ttmp.matrix[2][2] /= d; ! ! d = -d; ! ! ttmp.matrix[0][1] /= d; ! ttmp.matrix[1][0] /= d; ! ttmp.matrix[1][2] /= d; ! ttmp.matrix[2][1] /= d; ttmp.translate.x = -(ttmp.matrix[0][0]*trans->translate.x + ttmp.matrix[1][0]*trans->translate.y + --- 285,303 ---- if (fabs(d) < EPSILON*EPSILON) RLerror(RL_PANIC, "Singular matrix.\n",yylineno); ! invd = 1 / d; ! ttmp.matrix[0][0] *= invd; ! ttmp.matrix[0][2] *= invd; ! ttmp.matrix[1][1] *= invd; ! ttmp.matrix[2][0] *= invd; ! ttmp.matrix[2][2] *= invd; ! ! invd = -invd; ! ! ttmp.matrix[0][1] *= invd; ! ttmp.matrix[1][0] *= invd; ! ttmp.matrix[1][2] *= invd; ! ttmp.matrix[2][1] *= invd; ttmp.translate.x = -(ttmp.matrix[0][0]*trans->translate.x + ttmp.matrix[1][0]*trans->translate.y + *** libray/libcommon/vecmath.c.orig Tue Aug 9 09:55:27 1994 --- libray/libcommon/vecmath.c Tue Aug 9 16:02:21 1994 *************** *** 41,54 **** VecNormalize(a) register Vector *a; { ! Float d; d = sqrt(a->x*a->x + a->y*a->y + a->z*a->z); if (equal(d, 0.)) return 0.; ! a->x /= d; ! a->y /= d; ! a->z /= d; #ifdef CRAY /* * The Cray Research Inc. math functional units don't work in the IEEE --- 41,55 ---- VecNormalize(a) register Vector *a; { ! Float d, invd; d = sqrt(a->x*a->x + a->y*a->y + a->z*a->z); if (equal(d, 0.)) return 0.; ! invd = 1.0 / d; ! a->x *= invd; ! a->y *= invd; ! a->z *= invd; #ifdef CRAY /* * The Cray Research Inc. math functional units don't work in the IEEE